﻿using System;
using System.Reflection;
using System.Resources;
using System.Web;
using System.Web.UI.WebControls;

namespace FranceTriple.Dal
{
    public static class Extension
    {
        private static ResourceManager rm;

        /// <summary>
        /// Traduit le libellé passé en paramètre avec le fichier resource de la culture courante
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        public static String ToLocalizedString(this String text)
        {
            rm = new ResourceManager("FranceTriple.Dal.Properties.Resources", Assembly.GetExecutingAssembly());            
            return rm.GetString(text);
        }
        /// <summary>
        /// Traduit le libellé passé en paramètre avec le fichier resource de la culture courante
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        public static String ToBf3RankLocalizedString(this String text)
        {
            rm = new ResourceManager("FranceTriple.Dal.Properties.Bf3RankLabel", Assembly.GetExecutingAssembly());
            return rm.GetString(text);
        }
        /// <summary>
        /// Convertir une date stockée au format UTC dans la base de données, vers le fuseau horaire de l'utilisateur qui a posté la requete.
        /// </summary>
        /// <param name="utcDateTime"></param>
        /// <param name="requesterTimeZoneInfo"></param>
        /// <returns></returns>
        public static DateTime ToUserTimeZone(this DateTime utcDateTime, String requesterTimeZone)
        {
            return TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, TimeZoneInfo.FindSystemTimeZoneById(requesterTimeZone));
        }
        public static String TextToHtml(this TextBox textbox)
        {
            return HttpUtility.HtmlEncode(textbox.Text);
        }

        public static String HtmlToText(this TextBox textbox)
        {
            return HttpUtility.HtmlDecode(textbox.Text);
        }

        public static String TextToHtml(this String text)
        {
            return HttpUtility.HtmlEncode(text);
        }

        public static String HtmlToText(this String text)
        {
            return HttpUtility.HtmlDecode(text);
        }
    }
}
